home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 April: Mac OS SDK / Dev.CD Apr 00 SDK1.toast / Development Kits / Mac OS / AppleShare IP 6.3 SDK / ASIP Registry / Headers / AppleShareFileServerRegistry.p < prev    next >
Encoding:
Text File  |  1999-11-01  |  13.6 KB  |  425 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        AppleShareFileServerRegistry.p
  3.  
  4.      Contains:    Registry records for file server.
  5.  
  6.      Version:    Technology:    AppleShare IP 6.0
  7.                  Release:    ASIP 6.2 SDK - Wednesday, August 25, 1999 09:29:55
  8.  
  9.      Copyright:    © 1995-1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT AppleShareFileServerRegistry;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __APPLESHAREFILESERVERREGISTRY__}
  27. {$SETC __APPLESHAREFILESERVERREGISTRY__ := 1}
  28.  
  29. {$I+}
  30. {$SETC AppleShareFileServerRegistryIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __FILES__}
  34. {$I Files.p}
  35. {$ENDC}
  36.  
  37.  
  38. {$PUSH}
  39. {$ALIGN MAC68K}
  40. {$LibExport+}
  41.  
  42.  
  43. TYPE
  44.     Str42                                = STRING[42];
  45.     Str199                                = STRING[199];
  46.  
  47. CONST
  48.     kFSCreatorSig                = 'ipwf';                        {  Attribute Signature for FileServer Service object attributes }
  49.  
  50.                                                                 {  Attribute Types for FileServer Service object each attribute  }
  51.     kFSServerInfoType            = 'srvr';                        {  ServerInfo }
  52.     kFSServerGreetingType        = 'gret';
  53.     kFSCacheInfoType            = 'cach';
  54.     kFSIdleUserInfoType            = 'idle';
  55.     kFSAdminInfoType            = 'admm';
  56.     kFSHTTPInfoType                = 'http';
  57.     kFSHTTPFolderType            = 'hfol';
  58.     kFSHTTPFileType                = 'hfil';
  59.     kFSHTTPPluginType            = 'hplg';
  60.     kFSMultiWebDirSig            = 'webd';                        {  Multi Domain signature  }
  61.     kFSHTTPWebDirCountType        = 'domC';
  62.     kFSHTTPWebDirType            = '0000';
  63.     kFSFTPInfoType                = 'ftp ';
  64.     kFSAFPInfoType                = 'afp ';
  65.     kFSSMBInfoType                = 'smb ';
  66.     kFSMimeType                    = 'mime';
  67.     kFSIPFilterType                = 'filt';
  68.     kFSMaxConnection            = 'maxc';                        {  max concurrent connection  }
  69.                                                                 {  additions for ASIP 6.2 }
  70.     kFSRestrictToSingleLogin    = 'r2sL';                        {  Boolean; default false  }
  71.     kFSNewFolderOwner            = 'newF';                        {  Boolean; default false  }
  72.     kFSRegisterFTPwithNSL        = 'Nftp';                        {  Boolean; default true  }
  73.     kFSRegisterAFPwithNSL        = 'Nafp';                        {  Boolean; default true  }
  74.     kFSRegisterHTTPwithNSL        = 'Nweb';                        {  Boolean; default true  }
  75.     kFSAppleTalkAllowed            = 'atlk';                        {  Boolean; default depends on Easy Setup  }
  76.     kFSSendGreetingOnce            = '1grt';                        {  Boolean; default true  }
  77.     kFSSleepTime                = 'inso';                        {  UInt32 in seconds; default 86400 (24 hours)  }
  78.  
  79. { Service specific advanced options }
  80.     kFSAFPTCPSig                = 'afpt';                        {  AFP over TCP port signature  }
  81.     kFSSMBInfoSig                = 'smb ';                        {  SMB over TCP port signature  }
  82.     kFSHTTPInfoSig                = 'http';                        {  HTTP port signature  }
  83.     kFSFTPInfoSig                = 'ftp ';                        {  FTP port signature  }
  84.  
  85.     kFSPortType                    = 'port';                        {  port number (UInt16) for all services  }
  86.     kFSSessionTimeout            = 'ssto';                        {  session timeouts for all services (SInt32)  }
  87.  
  88.     kFSTransferTimeout            = 'trto';                        {  transfer timeout for kFSFTPInfoSig (SInt32)  }
  89.     kFSKeepAliveTimeout            = 'kato';                        {  keep alive timeout for kFSHTTPInfoSig (SInt32)  }
  90.     kFSCGITimeout                = 'cgto';                        {  CGI timeout for kFSHTTPInfoSig (SInt32)  }
  91.     kFSLogSize                    = 'logs';                        {  Log Size - for kFSHTTPInfoSig (UInt32)  }
  92.  
  93. { UAM information... }
  94.     kFSUAMInfoSig                = 'uam ';                        {  Signature  }
  95.  
  96.  
  97.     kFSNumUAMS                    = 'uamc';                        {  Number of UAMs (UInt32)  }
  98.     kFSUAMNames                    = 'uams';                        {  UAM names (buffer of packed pascal strings)  }
  99.  
  100. {----------------------------------------------------------}
  101. {        Server Preference - General Information                }
  102. {----------------------------------------------------------}
  103.     kFSServerInfoVersion        = 1;
  104.  
  105.  
  106.  
  107. TYPE
  108.     ServerInfoPtr = ^ServerInfo;
  109.     ServerInfo = RECORD
  110.         versionNumber:            SInt16;                                    {  version number for this record  }
  111.         fileServerVersion:        SInt16;                                    {  version# for file server  }
  112.         userActivityLimit:        SInt16;                                    {  user activity limit in %  }
  113.         maxLogin:                SInt16;                                    {  maximum client connections  }
  114.         maxGuestAccess:            SInt16;                                    {  maximum number of guest and anonymous logins  }
  115.         shutdownMinutes:        SInt16;                                    {  minutes until shutdown  }
  116.     END;
  117.  
  118. {----------------------------------------------------------}
  119. {        Server Preference - connect info & Login Greeting    }
  120. {----------------------------------------------------------}
  121.  
  122. CONST
  123.     kFSServerGreetingVersion    = 1;
  124.  
  125.  
  126. TYPE
  127.     ServerGreetingPtr = ^ServerGreeting;
  128.     ServerGreeting = RECORD
  129.         versionNumber:            SInt16;                                    {  version number for this record  }
  130.         greetingMsg:            Str199;                                    {  login greeting  }
  131.     END;
  132.  
  133. {----------------------------------------------------------}
  134. {        Server Preference - Additional Cache Information    }
  135. {----------------------------------------------------------}
  136.  
  137. CONST
  138.     kFSCacheInfoVersion            = 1;
  139.  
  140.  
  141. TYPE
  142.     CacheInfoPtr = ^CacheInfo;
  143.     CacheInfo = RECORD
  144.         versionNumber:            SInt16;                                    {  version number for this record  }
  145.         cacheForOthers:            SInt32;                                    {  memory to be reserved for other applications  }
  146.     END;
  147.  
  148. {----------------------------------------------------------}
  149. {        Server Preference - Idle User Information            }
  150. {----------------------------------------------------------}
  151. { idleFlag bits. }
  152.  
  153. CONST
  154.     kFSIdleDisconEnabledMask    = $0001;                        {  allow to disconnect idle users  }
  155.     kFSDisconExeptOpenFilesMask    = $0002;                        {  if true, disconnect except open file users  }
  156.     kFSDisconSuperUserMask        = $0004;                        {  if true, isconnect idel super users  }
  157.     kFSDisconNormalUserMask        = $0008;                        {  if true, disconnect idle normal users  }
  158.     kFSDisconGuestUserMask        = $0010;                        {  if true, disconnect idle guest users  }
  159.  
  160.  
  161.     kFSIdleUserInfoVersion        = 1;
  162.  
  163.  
  164. TYPE
  165.     IdleUserInfoPtr = ^IdleUserInfo;
  166.     IdleUserInfo = RECORD
  167.         versionNumber:            SInt16;                                    {  version number for this record  }
  168.         idleFlag:                SInt16;                                    {  see above  }
  169.         idleMinute:                SInt16;                                    {  max # of minute for idle users  }
  170.         disconnectMsg:            Str199;                                    {  disconnect message  }
  171.     END;
  172.  
  173. {----------------------------------------------------------}
  174. {        Server Preference - Serial Miscelleneous Information}
  175. {----------------------------------------------------------}
  176.  
  177. CONST
  178.     kFSAdminInfoVersion            = 1;
  179.  
  180.  
  181. TYPE
  182.     AdminInfoPtr = ^AdminInfo;
  183.     AdminInfo = RECORD
  184.         versionNumber:            SInt16;                                    {  version number for this record  }
  185.         namePhone:                Str31;                                    {  name & phone  }
  186.         organization:            Str31;                                    {  organization  }
  187.     END;
  188.  
  189. {----------------------------------------------------------}
  190. {        Server Preference - HTTP Information                }
  191. {----------------------------------------------------------}
  192. { Flag bits.     }
  193.  
  194. CONST
  195.     kFSMultiDomainEnabled        = $0001;                        {  allow multi-domain support  }
  196.     kFSDirListingEnabled        = $0002;                        {  allow directory listing  }
  197.     kFSAutoShareWebFolder        = $0004;                        {  if on, web folder share point at start up; server will clear  }
  198.  
  199.     kFSHTTPServiceInfoVersion    = 2;
  200.  
  201.     kFSHTTPEnable                = 1;                            {  enable HTTP }
  202.     kFSHTTPLogEnable            = 1;                            {  enable HTTP Log }
  203.     kFSHTTPGuestEnable            = 1;                            {  guest turned on for HTTP }
  204.  
  205.  
  206. TYPE
  207.     HTTPServiceInfoPtr = ^HTTPServiceInfo;
  208.     HTTPServiceInfo = RECORD
  209.         versionNumber:            SInt16;                                    {  version number for this record  }
  210.         enabled:                SInt16;                                    {  Enable HTTP, 1-enable, 0-not enable  }
  211.         status:                    SInt16;
  212.         logEnabled:                SInt16;                                    {  Enable HTTP Log, 1-enable, 0-not enable  }
  213.         maxConnect:                SInt16;                                    {  HTTP maximum client connections  }
  214.         guestEnabled:            SInt16;                                    {  Whether guest allowed for HTTP  }
  215.         flag:                    SInt32;                                    {  new field for ASIP6  }
  216.     END;
  217.  
  218.     HTTPFolderRecPtr = ^HTTPFolderRec;
  219.     HTTPFolderRec = RECORD
  220.         vRefNum:                SInt16;                                    {  HTML folder path vRefNum }
  221.         volumeName:                Str27;                                    {  HTML folder path volume name }
  222.         volCreateDate:            UInt32;                                    {  HTML folder path volume creation date }
  223.         dirID:                    SInt32;                                    {  HTML folder path DirID }
  224.         webFolderPath:            Str255;                                    {  HTML folder path. Does NOT include volume name  }
  225.     END;
  226.  
  227.     HTTPFileRecPtr = ^HTTPFileRec;
  228.     HTTPFileRec = RECORD
  229.         partialPath:            Str255;                                    {  partial path to HTML file starting from the Web folder  }
  230.     END;
  231.  
  232.  
  233. CONST
  234.     kFSPlugInEnable                = 1;                            {  enable Plug-ins }
  235.     kFSPlugInLoggingEnable        = 1;                            {  enable Plug-in logging }
  236.  
  237.  
  238. TYPE
  239.     HTTPPlugInsRecPtr = ^HTTPPlugInsRec;
  240.     HTTPPlugInsRec = RECORD
  241.         pluginEnable:            SInt16;                                    {  Plug-ins,  1-enable, 0-not enable  }
  242.         loggingEnable:            SInt16;                                    {  Plug-in logging, 1-enable, 0-not enable  }
  243.         memSize:                SInt32;                                    {  Plug-in memory allocation  }
  244.         preProcessorSpec:        FSSpec;                                    {  Preprocessor plugin spec  }
  245.         postProcessorSpec:        FSSpec;                                    {  Postprocessor plugin spec  }
  246.         errorSpec:                FSSpec;                                    {  Error plugin spec  }
  247.     END;
  248.  
  249.     VolSpecPtr = ^VolSpec;
  250.     VolSpec = RECORD
  251.         vName:                    Str32;                                    {  pascal string because FSSpec uses pascal string }
  252.         filler:                    SInt8;
  253.         vRefNum:                SInt16;
  254.         vCreateDate:            UInt32;
  255.     END;
  256.  
  257.  
  258. CONST
  259.     kFSHTTPWebDirCountRecVersion = 1;
  260.  
  261.  
  262. TYPE
  263.     HTTPWebDirCountRecPtr = ^HTTPWebDirCountRec;
  264.     HTTPWebDirCountRec = RECORD
  265.         count:                    UInt16;                                    {  How many HTTPWebDirRec there are  }
  266.         version:                SInt16;                                    {  Version of the HTTPWebDirRec  }
  267.     END;
  268.  
  269.  
  270. CONST
  271.     kFSWebFolderEnabled            = 1;
  272.  
  273.     kFSAddressTypeDNS            = 0;
  274.     kFSAddressTypeIPAddress        = 1;
  275.  
  276.  
  277. TYPE
  278.     HTTPWebDirRecPtr = ^HTTPWebDirRec;
  279.     HTTPWebDirRec = RECORD
  280.         enabled:                UInt16;                                    {  1 == this web folder enabled, 0 == disabled  }
  281.         addressType:            SInt16;                                    {  Indicates how to decode addressText: 0 == DNS name, 1 = IP Address (in ASCII)  }
  282.         addressText:            Str63;                                    {  Domain name or IP address (in ASCII) of this web folder (pascal str) See addressType field  }
  283.         portNumber:                UInt16;                                    {  Port number for this web folder's IP address (InetPort)  }
  284.         volSpec:                VolSpec;                                {  Volume specifier  }
  285.         dirID:                    SInt32;                                    {  Dir ID of this web folder  }
  286.     END;
  287.  
  288. {----------------------------------------------------------}
  289. {        Server Preference - FTP Information                    }
  290. {----------------------------------------------------------}
  291.  
  292. CONST
  293.     kFSFTPServiceInfoVersion    = 1;
  294.  
  295.  
  296. TYPE
  297.     FTPServiceInfoPtr = ^FTPServiceInfo;
  298.     FTPServiceInfo = RECORD
  299.         versionNumber:            SInt16;                                    {  version number for this record  }
  300.         ftpEnable:                SInt16;                                    {  Enable FTP, 1-enable, 0-not enable  }
  301.         status:                    SInt16;
  302.         ftpAnonymousEnable:        SInt16;                                    {  Enable Anonymous Login, 1-enable, 0-not enable  }
  303.     END;
  304.  
  305. {----------------------------------------------------------}
  306. {        Server Preference - AFP Information                    }
  307. {----------------------------------------------------------}
  308.  
  309. CONST
  310.     kFSAFPServiceInfoVersion    = 1;
  311.  
  312.  
  313. TYPE
  314.     AFPServiceInfoPtr = ^AFPServiceInfo;
  315.     AFPServiceInfo = RECORD
  316.         versionNumber:            SInt16;                                    {  version number for this record  }
  317.         afpOverTCPIPEnable:        SInt16;                                    {  Enable AFP over TCPIP, 1-enable, 0-not enable  }
  318.         afpOverTCPIPStatus:        SInt16;
  319.         afpOverATalkEnable:        SInt16;                                    {  Enable AFP over AppleTalk, 1-enable, 0-not enable  }
  320.     END;
  321.  
  322. {----------------------------------------------------------}
  323. {        Server Preference - SMB Information                    }
  324. {----------------------------------------------------------}
  325.  
  326. CONST
  327.     kFSSMBServiceInfoVersion    = 1;
  328.  
  329.     kFSSMBMaxNetBIOSnameLength    = 15;
  330.     kFSSMBMaxWorkGroupLength    = 15;
  331.     kFSSMBMaxCommentLength        = 43;
  332.     kFSSMBWINSAddressLength        = 62;
  333.  
  334.  
  335. TYPE
  336.     SMBServiceInfoPtr = ^SMBServiceInfo;
  337.     SMBServiceInfo = RECORD
  338.         versionNumber:            SInt16;                                    {  version number for this record  }
  339.         smbEnable:                SInt16;                                    {  Enable SMB, 1-enable, 0-not enable  }
  340.         status:                    SInt16;
  341.         guestEnabled:            SInt16;                                    {  Whether guest allowed for SMB  }
  342.         netBIOSname:            Str31;                                    {  Server name. Limited to 15 bytes  }
  343.         workGroup:                Str31;                                    {  NETBIOS group name.  Limited to 15 bytes  }
  344.         comment:                Str63;                                    {  ASCII comment for the server. Limited to 43 bytes  }
  345.         winsEnabled:            SInt16;                                    {  Enable WINS, 1-enable, 0-not enable  }
  346.         winsAddress:            Str63;                                    {  WINS IP address  }
  347.     END;
  348.  
  349. {----------------------------------------------------------------------}
  350. {        MIME type changes - Notify server SrvrMimeTypePrefs has changed    }
  351. {----------------------------------------------------------------------}
  352.  
  353. CONST
  354.     kFSMimeTypeChangedVersion    = 1;
  355.  
  356.  
  357. TYPE
  358.     MimeTypeChangedPtr = ^MimeTypeChanged;
  359.     MimeTypeChanged = RECORD
  360.         version:                SInt16;                                    {  version number for this record  }
  361.         counter:                SInt32;                                    {  no meaning, just for notification  }
  362.     END;
  363.  
  364. {----------------------------------------------------------}
  365. {        IPFilter Options - Advanced option for filtering IP }
  366. {----------------------------------------------------------}
  367.  
  368. CONST
  369.     kFSIPFilterAllow            = 1;
  370.  
  371. { Structure of individual filters }
  372.  
  373. TYPE
  374.     IPFilterStructPtr = ^IPFilterStruct;
  375.     IPFilterStruct = RECORD
  376.         allow:                    SInt16;                                    {  0 for disallow, 1 for allow  }
  377.         highIPBytes:            UInt32;
  378.         lowIPBytes:                UInt32;
  379.     END;
  380.  
  381.  
  382. CONST
  383.     kFSMaxIPFilters                = 10;
  384.  
  385.  
  386. TYPE
  387.     IPFilterInfoPtr = ^IPFilterInfo;
  388.     IPFilterInfo = RECORD
  389.         versionNumber:            SInt16;                                    {  version number for this record  }
  390.         numFilters:                SInt16;                                    {  numberOfIPFilters  }
  391.         filters:                ARRAY [0..9] OF IPFilterStruct;
  392.     END;
  393.  
  394. {----------------------------------------------------------}
  395. {        Max connection information                            }
  396. {----------------------------------------------------------}
  397. {
  398.    tags for this record are type:kFSCreatorSig  and attribute:kFSMacConnextion
  399.    this value will be used if the max connection number encoded in serial number is 250
  400. }
  401.  
  402. CONST
  403.     kFSServerMaxConnectionInfoVersion = 1;
  404.  
  405.  
  406. TYPE
  407.     ServerMaxConnectionInfoPtr = ^ServerMaxConnectionInfo;
  408.     ServerMaxConnectionInfo = RECORD
  409.         version:                SInt16;
  410.         flag:                    SInt32;                                    {  reserved for future use  }
  411.         maxConnection:            SInt32;
  412.     END;
  413.  
  414. {  -------------------------------------------------------------------------------------------------  }
  415. {$ALIGN RESET}
  416. {$POP}
  417.  
  418. {$SETC UsingIncludes := AppleShareFileServerRegistryIncludes}
  419.  
  420. {$ENDC} {__APPLESHAREFILESERVERREGISTRY__}
  421.  
  422. {$IFC NOT UsingIncludes}
  423.  END.
  424. {$ENDC}
  425.